To shorten an execution time of an application program and improve the running efficiency, some services (or functions) in the program may be allocated to a hardware acceleration device for execution. Because the hardware acceleration device runs fast, the execution time of the application program can be shortened. Common accelerated services include encryption, decryption, compression, decompression, audio and video encoding and decoding, and the like. Hardware acceleration devices include a processor that provides special instructions, and other peripheral component interconnect (PCI) devices that can provide an acceleration function, such as a graphics processing unit (GPU) and a field programmable gate array (FPGA).
At present, network function virtualization (NFV) is proposed. The purpose of the NFV is to implement some network functions in general-purpose high-performance servers, switches, and storage devices through virtualization. In a NFV evolution scenario, a network device that is based on special-purpose hardware may be deployed on a general-purpose server by using the virtualization technology. A conventional combination of “embedded software+special-purpose hardware” is evolved into a combination of “software+general-purpose hardware.” In order to implement hardware generalization, a network function (NF) program needs to be separated from conventional special-purpose hardware to form a virtualization network function (VNF) program, so that the conventional special-purpose hardware becomes general-purpose NFV hardware.
However, after forming the general-purpose NFV hardware, how to accurately schedule the NFV hardware according to a service requirement of an application program becomes a problem to be resolved.